package com.example.cart.service;

import com.example.cart.domain.dto.CartDTO;
import com.example.cart.domain.vo.CartVO;
import com.example.cart.domain.vo.OrderPreVO;

import java.util.List;

public interface CartService {
    /**
     * 获取购物车列表
     * @return
     */
    List<CartVO> getCart();

    /**
     * 添加购物车
     * @param cartDTO
     */
    void addCart(CartDTO cartDTO);

    /**
     * 删除购物车
     * @param ids
     */
    void deleteCart(List<Long> ids);

    /**
     * 修改购物车
     * @param cartDTO
     */
    void updateCart(CartDTO cartDTO);

    /**
     * 修改购物车选中状态
     * @param selected
     */
    void updateCartSelected(Integer selected);

    /**
     * 获取订单预览信息
     * @return
     */
  OrderPreVO getPreOrder();

  /**
     * 获取立即购买订单预览信息
     * @return
     */
    OrderPreVO getPreOrderNow(Long skuId, Integer count);
}
